/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package clases.domain.services;

import clases.domain.Unidad;
import clases.domain.Version;
import conexion.util.MysqlConfigUtil;
import java.util.ArrayList;
import java.util.List;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionException;
import org.apache.ibatis.session.SqlSessionFactory;

/**
 *
 * @author Diego
 */
public class MantenedorUnidadService {
        //Inserta Unidad
    public boolean insertUnidad(Unidad unidad) throws Exception {
        boolean inserta = false;
        int insert = 0;
        SqlSessionFactory sqlSessionFactory = MysqlConfigUtil.getSqlSessionFactory();
        SqlSession session = sqlSessionFactory.openSession();
        try {
            System.out.println("inserto");
            insert = session.insert("Unidad.insertUnidad", unidad);
            session.commit();
            if (insert == 1) {
                inserta = true;
            } else {
                System.out.println("Error al insertar");
            }
        } catch (SqlSessionException e) {
            System.out.println("inserto");
        }
        return inserta;
    }

    //Actualiza Unidad
    public boolean updateUnidad(Unidad unidad) throws Exception {
        boolean update = false;
        int updat = 0;
        SqlSessionFactory sqlSessionFactory = MysqlConfigUtil.getSqlSessionFactory();
        SqlSession session = sqlSessionFactory.openSession();
        try {
            System.out.println("Actualiza");
            updat = session.update("Unidad.updateUnidad", unidad);
            session.commit();
            if (updat == 1) {
                update = true;
            } else {
                System.out.println("Error al actualizar");
            }
        } catch (SqlSessionException e) {
            System.out.println("Actualizo");
        }
        return update;
    }

    //Elimina Unidad
    public boolean deleteUnidad(Unidad unidad) throws Exception {
        boolean delete = false;
        int delet = 0;
        SqlSessionFactory sqlSessionFactory = MysqlConfigUtil.getSqlSessionFactory();
        SqlSession session = sqlSessionFactory.openSession();
        try {
            System.out.println("Elimino");
            delet = session.delete("Unidad.deleteUnidad", unidad);
            session.commit();
            if (delet == 1) {
                delete = true;
            } else {
                System.out.println("Error al Eliminar");
            }
        } catch (SqlSessionException e) {
            System.out.println("Elimino");
        }
        return delete;
    }

    //Lista Unidades
    public List<Unidad> getListUnidad() throws Exception {
        SqlSessionFactory sqlSessionFactory = MysqlConfigUtil.getSqlSessionFactory();
        SqlSession session = sqlSessionFactory.openSession();
        List<Unidad> listaUnidad= new ArrayList();
        try {
            listaUnidad = session.selectList("Unidad.selectAllUnidades");
            System.out.println("Trae Lista");
        } catch (SqlSessionException e) {
            System.out.println("Elimino");
        }
        return listaUnidad;
    }
}
